package com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.economicLossDE.repository;

import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.economicLossDE.entity.EconomicLossED;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.economicLossDE.entity.EconomicLossEDCalculation;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.economicLossDE.entity.EconomicLosses;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.economicLossDE.param.EconomicLossParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.economicLossDE.vo.EconomicLossPCCVO;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.economicLossDE.vo.EconomicLossXYVO;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.largeScreen.entity.Calculation;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface EconomicLossEDRepository {
    void addAssess(EconomicLossED param);

    EconomicLossED findById(String id);

    void upDateAssess(EconomicLossED param);

    String queryLatest(StringBuilder code);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    void batchCalculation(List<EconomicLossEDCalculation> list);

    void deleteCalculation(String assessId, String seismicInputMode);

    List<EconomicLossPCCVO> getListPCC(EconomicLossParam param);

    List<EconomicLossXYVO> getListXY(EconomicLossParam param);

    Map<String, Object> queryCalculation(int curPage, int pageSize, String seismicInputMode, String id, String condition);

    void updateCorrectionValue(EconomicLossEDCalculation param);

    EconomicLosses getDefaultModel();

    List<Map<String, Object>> getSumByDivisionAndAssessCodes(String province, String city, String county,
                                                             String assessCodes, String condition);

    Boolean getSTIntersects(String geomText, BigDecimal longitude, BigDecimal latitude);


    List<Calculation> getValue(List<String> taskIdList, String code);

    List<EconomicLossEDCalculation> getCasualtiesResult(String taskId, String province, String condition, String seismicInputMode);
}
